import allure
import pytest

from commons.yaml_util import read_yaml


# @pytest.mark.usefixtures("exe_sql")
@allure.epic("项目名称：OA办公系统")
@allure.feature("模块名称：OA登录模块")
@pytest.mark.skip()
class   TestApi:

    @pytest.mark.users
    @allure.story("接口名称：学生登录接口")
    @allure.title("验证学生登录接口success,返回数据")
    @allure.description("说明：学生端登录成功")

    @allure.severity(allure.severity_level.BLOCKER)
    # 不常用
    # @allure.link(url="https://www.baidu.com",name="接口访问链接")
    # @allure.issue("接口bug链接")
    # @allure.testcase("测试用例连接")
    def test_login1(self,caseinfo):
        print("登录成功，测试用例",caseinfo)
        # raise Exception("登录用例失败")

    def test_login2(self):
        print("登录失败，测试用例")
        allure.dynamic.title("接口登录接口失败")
        allure.dynamic.description("说明：学生端登录失败")
        allure.dynamic.severity(allure.severity_level.BLOCKER)
        allure.dynamic.story("接口名称：学生登录接口")
        # Web自动化加入测试用例步骤和测试附件
        with allure.step("第一步"):
            # 加入文件附件（错误截图）
            with open("./Snipaste.png",mode="rb") as f:
             allure.attach(body=f.read(),name="第一步截图",attachment_type=allure.attachment_type.PNG)
        # 接口自动化 请求头 请求参数 响应内容
        allure.attach("get","请求方式",attachment_type=allure.attachment_type.TEXT)
        allure.attach("www.baidu.com","请求路径",attachment_type=allure.attachment_type.TEXT)

    def test_admin_login(self,exe_sql,base_url):
        print("管理员登录测试用例")
        print(exe_sql,base_url)

    def test_register(self):
        print("注册测试用例")

    @pytest.mark.run(order=1)
    def test_logout(self):
        print("登出测试用例")

    @pytest.mark.admins
    def test_index(self):
        print("主页测试用例")